#案例：演示常用的内置函数/内建函数。相当于：C语言全局函数！

# String type(变量名);
# 功能：输出这个变量的数据类型！
a=[10,20]
ret=type(a)
print(ret)


# 函数原型：List dir(Object o);
# 函数功能：返回对象o中可以使用的东西(变量、函数、类中的属性名、类中方法名)！
# 形参o：可以是模块名(例如math模块)、类对象名、变量！
x=[10,20]
print(dir(x))

# 函数原型：int int(Object value);
# 功能：把任何数据类型尝试转换为int类型！
print(int(10)) #OK
print(int(12.34))#12
print(int(12.78)) #12
print(int("12")) #12
# print(int("12.34")) #Error

# 函数原型：String str(Object value);
# 功能：企图把任何数据类型的数据尝试转换为字符串类型！
print(str(10)) #"10"
print(str(12.34)) #"12.34"

# 函数原型：float float(Object x);
# 功能：企图把任何数据类型的数据尝试转换为float类型！
print(float(10)) #10.0
print(float("10")) #10.0
print(float("12.34")) #12.34


# 函数原型：String input([String tip]);
# 函数功能：从键盘读取一个行，并返回一个字符串（自动去掉结尾的换行符）！
# 形参tip：提示文本！

#情况1：从键盘读取字符串
# name=input("请输入姓名:");
# print(name)


#情况2：从键盘读取int
# age=int(input("请输入年龄:"))
# print(age)

#情况3：从键盘读取float
# price=float(input("请输入价格:"))
# print(price)

# 函数原型：int len(Object sequence);
# 函数功能：获取序列sequence中元素的个数。一般用于统计列表或元组的元素的个数！
# 形参sequence：要统计的序列，一般给列表或元组、字典、字符串！
print(len("abcd")) #4
print(len(["abc","def",10,40,50])) #5
print(len((10,))) #1

# 函数原型：Object max(Object sequence);
# 函数功能：返回序列sequence（列表或元组）中元素的最大值！
# 返回值：返回最大元素。返回值类型就是该最大元素的类型。
# 形参sequence：一个列表或元组、字符串！
print(max("abcdsad")) #"s"
print(max([10,20,10,50,10,0,-500,50])) #50



# Object sum(Object sq)
print(sum([10,20,30,10]))

# 函数原型：List list(Object sequence);
# 函数功能：把一个序列sequence（列表或元组）转换为list类型！
# 形参sequence：一个序列，一般是一个元组、列表、字符串！
print(list("abcd")) #["a","b","c","d"]
print(list((10,20,30,"abcd")))

# 函数原型：Tuple tuple(Object sequence);
# 函数功能：把一个序列(列表或元组)转换为元组类型！
# 形参sequence：一个序列，一般都是列表、元组、字符串！
print(tuple("abcd")) #("a","b","c","d")
print(tuple(["abc","de","10"]))


# 函数原型：List range(int min,int max[,step=1]);
# 函数功能：返回一个[min,max)的一个int类型的列表！
# 形参step：步长！
print(list(range(0,10)))
print(list(range(10)))
print(list(range(0,10,2)))

# 函数原型：Dict dict(object x)
# 函数功能：把任何类型企图转换为字典数据！
# ret=dict(name="张三") #ret={'name': '张三'}
# ret=dict(age=27) #ret={"age":27}
ret=dict(id=1,name="张三",score=78.5) #ret={'id': 1, 'name': '张三', 'score': 78.5}
print(ret)
